type ConfigType = {
  method?: any,
  data?: object
}
App({
  globalData: {
  },
  baseUrl: 'http://120.26.209.113:8080',
  onLaunch() {
    //检查版本更新
    const updateManager = wx.getUpdateManager()
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate)
    })
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })
    updateManager.onUpdateFailed(function () {
      // 新的版本下载失败
      wx.showModal({
        title: '更新提示',
        content: '新版本下载失败',
        showCancel: false
      })
    })
  },
  request(url: string, config: ConfigType = {}) {
    wx.showLoading({
      title: '加载中...'
    })
    return new Promise((resolve, reject) => {
      wx.request({
        url: this.baseUrl + url,
        method: config.method || 'GET',
        header: {
          "content-type": "application/json",
          'token': wx.getStorageSync('token')
        },
        data: config.data || '',
        success: (res: any) => {
          // console.log(res.statusCode,'success');
          resolve(res)
          if(res.statusCode==401){
            wx.showToast({
              title: '登录过期',
              icon: 'none',
              duration: 2000,
            })
            wx.redirectTo({
              url: '/pages/login/login'
            })
          }
        },
        fail: (err) => {
          wx.showToast({
            title: '请求超时',
            icon: 'none',
            duration: 2000,
          })
          reject(err)
        },
        complete: () => {
          wx.hideLoading()
        }
      })
    })
  },
})